(In the Case where a Robot is Controlled by Measuring the Position of the Robot)
In a control device adapted to control the drive of a robot by calculating the position or the posture of the robot by using information from sensors installed on the robot or outside the robot, the following sensors and measurement methods are generally used to measure the position and the posture of a robot.
(1) Method Using Internal Sensors on a Robot
For example, a gyro sensor mounted on a robot, or an encoder or the like on a wheel is used to measure the velocity, the acceleration, the angular velocity or the like of the robot. A steering angle of a robot is measured by an encoder or the like of a steering unit mounted on the robot.
(2) Method Using External Sensors on a Robot
For example, a range sensor (a laser range finder (LRF), laser radar or the like), a camera, or the like mounted on a robot is used to measure the position or the posture of a landmark around the robot. One or both of the current position and posture are measured by a GPS compass or the like installed on the robot.
(3) Method for Measuring with External Sensors Outside a Robot
A range sensor, a camera, or the like installed outside a robot is used to measure the position or the posture of the robot within a measurement range.
It is difficult to accurately determine the position or the posture of a robot by a single sensor, so that there are cases where a plurality of the sensors or the measurement methods described above is used to determine the position or the posture from a plurality of obtained measurement results.
However, the plurality of measurement results cannot be easily compared for the following reasons.
The position and the posture measured in the above-described methods (2) and (3) are relative position and posture indicated by a coordinate system whose origin is a particular point or the sensor used for measurement. Each origin of measurement coordinates is different, and in the case of a sensor on a robot, the position of the robot itself that becomes the origin is unknown, thus making it difficult to compare the measurement results simply by coordinate conversion or the like.
The above-described method (1) is not intended to directly measure the position or the posture, so that direct comparison with the methods (2) and (3) is impossible.
Further, as will be described hereinafter, it is difficult to carry out measurement, synchronizing all sensor information. Hence, there are cases where the measurement time of each obtained measurement result is different. Since the position and the posture of a robot change from moment to moment, the measurement results obtained at different time cannot be simply compared. This problem is apt to arise especially when the velocity of a robot is fast since the change amounts of the position and the posture are large.
a. In general, the sensor information of internal sensors in the same robot is acquired in synchronization. However, it is difficult, for example, to share one synchronization signal among different robots (wired connection being necessary). It is difficult, therefore, to synchronize the information of internal sensors among a plurality of robots.
b. In the case where external sensors are used, as in the method (3), it is also difficult to synchronize the external sensors and the sensors on the robot if synchronization signals are need to be transmitted and received among a plurality of devices, as in the case of “a”.
c. The sensors used in the method (2) or (3) incur measurement delay due mainly to the measurement time of the sensors themselves or the time for processing the sensor information obtained from the sensors. Hence, the measurement results obtained by the sensors become old sensor information by the measurement delay, making the measurement time thereof different from the measurement time of the sensor information of the internal sensors as in the method (1). Further, there are cases where an object to be measured moves out of the fields of view of the sensors, so that the measurement results at specified time are not necessarily obtained at all times.
(In the Case of Handling a Moving Workpiece)
In an automated device adapted to handle a moving workpiece by a robot, it is necessary to measure the position of the workpiece by a visual sensor such as a camera, or a range sensor such as a laser range finder (LRF), installed on the robot or outside the robot, and then to carry out follow-up control on a robot arm according to the measurement results.
In the case where a robot itself moves, which is a mobile robot, the same technology is used since it is necessary to measure the position of the mobile robot by sensors installed on the robot or outside the robot and to control the robot on the basis of measurement results. Methods for measuring the position of the robot include a method for measuring the position relative to a landmark by a sensor on the robot, and a method for directly measuring the position of the robot by a sensor installed outside the robot, as described above.
In the following description, a moving workpiece or a mobile robot will be also referred to simply as “a mobile object” in some cases.
In the control for predicting the motion of the robot described above, the relative position between an object (a workpiece or a landmark) and the robot, which changes from moment to moment, is measured at a predetermined cycle (e.g., by a 30-fps camera), and a movement command to, for example, move the robot close to the workpiece, is output to the robot on the basis of the measurement results.
However, even when the robot is operated, aiming at the measured position of the workpiece, the robot possibly fails to follow the moving workpiece due to a control delay which includes a measurement delay of the sensor, a delay in acquiring data, and a motional delay of the robot.
Further, in the case of a visual sensor, the measurement cycle of the sensor is generally longer than a control cycle (e.g., 4 ms) of the robot. Therefore, the robot will not obtain the up-to-date measurement result in each control cycle, which leads to a measurement delay accordingly. Especially if image processing takes time or the workpiece moves out of the field of view of a camera, then the cycle in which the measurement result is updated is further prolonged and also becomes non-constant. Thus, devices handling a moving workpiece or a mobile robot cause a problem in that the follow-up performance of a robot deteriorates due to a control delay.
To solve the problem with the background art described above, various control means have already been proposed (e.g., Patent Literatures 1 to 4).
The “DEVICE FOR PREDICTING THREE-DIMENSIONAL MOTION” in Patent Literature (PLT) 1 is adapted to estimate motion parameters from the positional data of an object that performs simple harmonic motions, predict a future position thereof, and grasp the object by a manipulator on the basis of the positional information.
The “STATE ESTIMATION MEANS” in PLT 2 is adapted to estimate an internal state of a system which has performed observation, on the basis of observation signals input in time series by observation. The internal state means a state variable such as the position, the posture, and deflection angle of an object.
The “MOTION PREDICTION DEVICE” in PLT 3 combines background processing and foreground processing to carry out automatic tracking and motion prediction.
The “ROBOT DEVICE AND CONTROL METHOD THEREOF” in PLT 4 proposes a method in which an arm is first caused to follow an object, and a destination of the object is predicted by making use of the coincidence between the motion state of the arm at the time of the follow-up and the motion state of the object. Thus, predicting the destination of the object by considering the motion state of the arm enables the grasping of a mobile object.